package com.sunrise.generico.repositorio;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

import com.sunrise.generico.acesso.DaoNegocioService;
import com.sunrise.generico.entidade.HistoricoSenha;
import com.sunrise.generico.repositorio.iface.HistoricoSenhaDao;

@Repository
public class HistoricoSenhaDaoImpl extends DaoNegocioService<HistoricoSenha> implements
		HistoricoSenhaDao {

	@SuppressWarnings("unchecked")
	public List<HistoricoSenha> listarOrdenado() {
		Criteria crit = getSession().createCriteria(HistoricoSenha.class);
		crit.addOrder(Order.asc("nome"));
		return crit.list();
	}

	public HistoricoSenha getById(Long id) {
		return getById(id, HistoricoSenha.class);
	}

	@Override
	public HistoricoSenha buscarHistoricoPorUsuarioAtivo(Long id) {
		Criteria crit = getSession().createCriteria(HistoricoSenha.class);
		crit.createAlias("usuario", "user");
		crit.add(Restrictions.eq("user.id", id));
		crit.add(Restrictions.eq("ativo", Boolean.TRUE));
		return (HistoricoSenha) crit.uniqueResult();
	}


}
